--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Node / AutumnSpark1226 / nomadForum.git rns://8b8c1d7fe59ff5a49edd723b02df1a06/AutumnSpark1226/nomadForum.git
A forum on the NomadNetwork
>nomadForum
A forum on the NomadNetwork
Current status:
The forum has been running without a problem for some time now. See this project on codeberg for the current status.
Selfhosting
Installation
1. Install and configure Nomad Network
2. Download the source code
T383838git clone https://codeberg.org/AutumnSpark1226/nomadForum ~/.nomadnetwork/storage/pages/nomadForum
You can change the folder after ./pages to your liking. Put the code in T383838~/.nomadnetwork/storage/pages if you only want the forum on your node.
3. cd into the folder. Use T383838git checkout tags/VERSION to use a specific release version
4. Install all requirements
T383838pip install -r requirements.txt
5. Create the default configuration file
T383838./config.py
The script will output the file path of the new config file.
6. Edit the config file (see below for available options)
7. Create an admin account by running T383838admin/create_admin_account.py Enter your username and password.
8. (Re)Start nomadnet. The forum should be available now.
Configuration options
The T383838[general] section:
• Set T383838storage_path = YOUR_PATH to the path where all data should be stored. The path must not end with T383838/. It is highly recommended to use an absulte path (like: T383838/home/user/.nomadForum)
• Set T383838page_path = /page/nomadForum to the path on your node. It must not end with T383838/. The path T383838~/.nomadnetwork/storage/pages on your filesystem is equivalent to T383838/page in this variable. Set it to folder path with the source code relative T383838~/.nomadnetwork/storage/pages
• Set T383838forum_name = nomadForum to give your forum a name.
• Set T383838update_checks_enabled = yes to enable update checks or T383838update_checks_enabled = no to disable them. If enabled, the software will connect to this url and request the newest version. This behaviour is disabled by default. It might be changed to use reticulum in the future.
• Set T383838bypass_link_id_requirement_on_local_connection = yes to be able to load pages using <Node Info> -> <Browse> on your node or T383838bypass_link_id_requirement_on_local_connection = no to disable this. Please note that enabling this might be a potential security risk.
The T383838[notifications] section:
• Set T383838enabled = yes to enable notifications or T383838enabled = no to disable them. Enabling notifications requires additional setup!
• Set T383838propagation_node = f141f039b3b88b7a2d5c6048c7adaafb to your preferred LXMF propagation node.
• Set T383838socket_path = /tmp/nomadForum_socket to a path where the notification socket will be created.
[OPTIONAL] Enable notifications
Notifications work by running notify.py as a background service.
1. Modify the configuration file to enable notifications (see above).
2. Setup T383838notify.py to run as a daemon. This might work in many different ways depending on your system. A configuration file for systemd might look like this:
T282828
[Unit]
Description=NomadForum notification service
DefaultDependencies=no
[Service]
Type=simple
User=user
Group=group
ExecStart=/home/user/.nomadnetwork/storage/pages/nomadForum/notify.py
[Install]
WantedBy=default.target
Modify it to match your setup. Make sure to run the daemon as the same user that runs nomadnet.
3. Start the daemon.
Updating
1. cd into the source code folder.
2. Use git to switch to the new version.
3. Try loading a page. If you get T383838CRITICAL: Database migration required! Contact an admin!, you need to run T383838admin/migrate.py
Management options
• Run T383838admin/manage.py backup to create a database and key backup. The backup location will be printed. (You can also use the 'Create backup' button on the admin page)
• Run T383838admin/manage.py addkey to create and use a new key for encrypted data in the database. Only newly encrypted data will use this key.
• Run T383838admin/manage.py rotatekeys to create and use a new key for encrypted data in the database. This will also reencrypt all existing data so only the new key is used.
Privacy / what admins can see
in nomadForum
• username
• posts, comments, display name, about page (this is public)
• if you are logged in (even when not shown on profile)
with direct database / file system access
Decryption is only possible with access to the T383838key.secret file (or a backup of this file)
• encrypted password hash (it is possible to decrypt it (then the admin has a password hash)
• plaintext passwords (by adding a password logger script to the node)
• encrypted identities (it is possible to decrypt them) as well as their settings (autologin, notifications, etc.)
• the time you logged in (as long as you are logged in, the data is cleared on logout / automatic purge)
• default post styling
• notification subscriptions
Code hosting
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────